﻿using System;
using System.Collections.Generic;
using System.Text;
using FreeImageAPI;

namespace Imagenator
{
	[ArgusLib.LocalizableEnum("EnumJpegQuality_", "Imagenator", "Imagenator.Localization.Text", null)]
	enum JpegQuality
	{
		Default = FREE_IMAGE_SAVE_FLAGS.DEFAULT,
		Superb = FREE_IMAGE_SAVE_FLAGS.JPEG_QUALITYSUPERB,
		Good = FREE_IMAGE_SAVE_FLAGS.JPEG_QUALITYGOOD,
		Normal = FREE_IMAGE_SAVE_FLAGS.JPEG_QUALITYNORMAL,
		Average = FREE_IMAGE_SAVE_FLAGS.JPEG_QUALITYAVERAGE,
		Bad = FREE_IMAGE_SAVE_FLAGS.JPEG_QUALITYBAD
	}

	[ArgusLib.LocalizableEnum("EnumJpegSubsampling_", "Imagenator", "Imagenator.Localization.Text", null)]
	enum JpegSubsampling
	{
		Default = FREE_IMAGE_SAVE_FLAGS.DEFAULT,
		_411 = FREE_IMAGE_SAVE_FLAGS.JPEG_SUBSAMPLING_411,
		_420 = FREE_IMAGE_SAVE_FLAGS.JPEG_SUBSAMPLING_420,
		_422 = FREE_IMAGE_SAVE_FLAGS.JPEG_SUBSAMPLING_422,
		_444 = FREE_IMAGE_SAVE_FLAGS.JPEG_SUBSAMPLING_444
	}

	[ArgusLib.LocalizableEnum("EnumPngCompression_", "Imagenator", "Imagenator.Localization.Text", null)]
	enum PngCompression
	{
		Default = FREE_IMAGE_SAVE_FLAGS.PNG_Z_DEFAULT_COMPRESSION,
		NoCompression = FREE_IMAGE_SAVE_FLAGS.PNG_Z_NO_COMPRESSION,
		HighSpeed = FREE_IMAGE_SAVE_FLAGS.PNG_Z_BEST_SPEED,
		HighCompression = FREE_IMAGE_SAVE_FLAGS.PNG_Z_BEST_COMPRESSION
	}

	[ArgusLib.LocalizableEnum("EnumExrCompression_", "Imagenator", "Imagenator.Localization.Text", null)]
	enum ExrCompression
	{
		Default = FREE_IMAGE_SAVE_FLAGS.DEFAULT,
		NoCompression = FREE_IMAGE_SAVE_FLAGS.EXR_NONE,
		Zip = FREE_IMAGE_SAVE_FLAGS.EXR_ZIP,
		Piz = FREE_IMAGE_SAVE_FLAGS.EXR_PIZ,
		Pxr24 = FREE_IMAGE_SAVE_FLAGS.EXR_PXR24,
		B44 = FREE_IMAGE_SAVE_FLAGS.EXR_B44
	}

	[Flags]
	enum IcoSizes
	{
		None = 0,
		_16 =  1,
		_32 =  1 << 1,
		_64 =  1 << 2,
		_128 = 1 << 3,
		_256 = 1 << 4
	}
}
